package org.code.mallspringboot.service;

import org.code.mallspringboot.dto.PmsEchoDto;
import org.code.mallspringboot.pojo.PmsProduct;
import org.code.mallspringboot.pojo.PmsSkuStock;

import java.util.List;

public interface PmsProductService {
    /**
        查询 + 分页
     * @param pageNum
     * @param pageSize
     * @return
     */
    List<PmsProduct> selectPage(int pageNum,int pageSize,String keyword,Integer publishStatus,Integer verifyStatus,String productSn,
                                Integer productCategoryId,Integer brandId);

    /**
        总条数
     * @return
     */
    int total(String keyword,Integer publishStatus,Integer verifyStatus,String productSn,
              Integer productCategoryId,Integer brandId);

    /**
        修改上下架
     * @param id
     * @param publishStatus
     * @return
     */
    int update_publishStatus(int id,int publishStatus);

    /**
        修改新品
     * @param id
     * @param newStatus
     * @return
     */
    int update_newStatus(int id,int newStatus);

    /**
        修改推荐
     * @param id
     * @param recommendStatus
     * @return
     */
    int update_recommendStatus(int id,int recommendStatus);

    /**
        查询SKU库存
     * @param id
     * @param keyword
     * @return
     */
    List<PmsSkuStock> selectByIdAndKeyword(int id,String keyword);

    /**
        商品列表删除
     * @param id
     * @param deleteStatus
     * @return
     */
    int deleteStatus(int id,int deleteStatus);

    /**
        SKU修改
     * @param productId
     * @param skuCode
     * @param price
     * @param stock
     * @param lowStock
     * @return
     */
    int update(int productId,String skuCode,double price,Integer stock,Integer lowStock);

    /**
        根据id查所有
     * @param id
     * @return
     */
    PmsEchoDto selectPmsProduct(int id);

    /**
        修改提交
     * @param pmsEchoDto
     * @return
     */
    int update_submit(PmsEchoDto pmsEchoDto);

    /**
        添加
     * @param pmsEchoDto
     * @return
     */
    int add(PmsEchoDto pmsEchoDto);
}
